<?php
//包含common文件，连接数据库，并调用相关数据库操作函数
include_once 'D:/dingjiangbbs/common/home.php';
//屏蔽notice错误
//error_reporting(E_ALL ^ E_NOTICE);

session_start();

//用post接收值
$username   = trim($_POST['username']);
$password   = trim($_POST['password']);
$repassword = $_POST['repassword'];
$email 		= $_POST['email'];
$verify		= $_POST['verify'];
//var_dump($verify);
//var_dump($username);

//判断用户名是否为空
if (!$username) {
	exit('用户名不得为空');
}

//判断用户名长度
if (strlen($username) > 12  ||  strlen($username) < 3) {
	exit('用户名长度未在3~12个字符之间');
}

//查询比对数据库，判断用户名是否已经存在
$res = select($link, DB_TABLE_USER,'username',"where username='$username'");

//查询结果为二维数组
$res = $res[0]['username'];	//$selUsername/ $res为比对数据库，查询出来的用户名	
//var_dump($username);

if ($res) {
	exit('用户名已存在，请重新输入');	
}

//判断密码长度
if (strlen($password) > 12  ||  strlen($password) < 3) {
	exit('密码长度未在3~12个字符之间');
}


/*
//(逆向判断)判断密码类型 【正则】：字符串 不 为12位的纯数字
$passPattern = "/[^0-9]{12}/";
//符合正则，返回1（为真）；否则返回0
$res = preg_match($passPattern,$password);	
// !$res <==> 对(为纯数字 返回0)取反 ==> 1(真) 
*/

//判断密码类型
if (is_numeric($password)) {

	exit('密码不能为纯数字');
}

//重复输入密码，验证密码是否正确
if ($password !==$repassword) {
	exit('两次密码输入不一致');
}

//md5();加密
$password = md5($password);

//判断邮箱格式
$ePattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if (!preg_match($ePattern,$email)) {
	exit('邮箱格式错误');
}

//匹配验证码
if ($verify !==  $_SESSION['yzm']) {
	exit('验证码输入有误');
}

//获取ip

$ip = $_SERVER['REMOTE_ADDR'];

if ($ip = '::1') {

	$ip = '127.0.0.1';

}else{

	$ip = $_SERVER['REMOTE_ADDR'];

}

$ip = ip2long($ip);

//var_dump($username);
//注册成功后，将新用户插入数据库
$table = DB_TABLE_USER;
$data  = [
	'username' => "$username",
	'password' => "$password",
	'email'    => "$email",
	'usertype' => 0,
	'regtime' => time(),
	'lasttime' => time(),		//??退出登录处插入
	'regip'    => $ip,
	'problem'  => 'none',
	'result'   => '空',
	'grade'    => 100,
	'levname'  => 'LV1'
];
//var_dump($data);
$res = insert($link,$table,$data);
//var_dump($res);
if (!$res) {
	exit('注册失败，返回继续注册');
}
echo '恭喜您注册成功！已获得100积分<a href="'.WEB_SITE.'index.php">去登录</a>';
mysqli_close($link);